1. mock axios

to implement this, we need ensure we have an axios file in your project.filename must be axios, axios.js or axios.ts

1
2
3
4
5
6
// axios.ts

const mockAxios: any = jest.genMockFromModule("axios");
mockAxios.create = jest.fn(() => mockAxios);

export default mockAxios;

2. mock some service data;

you can get the mock data according to the special url .

1
2
3
4
5
6
7
8
9
10
11
const mockData: any = {
"/api/sample/data": {
data: {

},
status: 200
}
}
export const getMockDataByUrl = (url: string) => {
return mockData[url];
}

3. mock axios request method

1
2
3
4
5
6
7
8
9
// axios.ts
import {getMockDataByUrl} from "service";

mockAxios.request = (params: any) => {
const mockData = getMockDataByUrl(params.url);
return new Promise((resolve) => {
resolve(mockData)
})
}